Popular Movies, Stage 1

Common Project Requirements

Criteria Meet Specification

App is written solely in the Java Programming Language.

App is written solely in the Java Programming Language.

Movies are displayed in the main layout via a grid of their corresponding movie poster thumbnails.

Movies are displayed in the main layout via a grid of their corresponding movie poster thumbnails.

UI contains an element (i.e a spinner or settings menu) to toggle the sort order of the movies by: most popular, highest rated.

UI contains an element (i.e a spinner or settings menu) to toggle the sort order of the movies by: most popular, highest rated.

UI contains a screen for displaying the details for a selected movie.

UI contains a screen for displaying the details for a selected movie.

Movie details layout contains title, release date, movie poster, vote average, and plot synopsis.

Movie details layout contains title, release date, movie poster, vote average, and plot synopsis.

Submission must use stable release versions of all libraries, Gradle, and Android Studio. Debug/beta/canary versions are not acceptable.

App utilizes stable release versions of all libraries, Gradle, and Android Studio.

User Interface - Function

Criteria Meet Specification

When a user changes the sort criteria (“most popular and highest rated”) the main view gets updated correctly.

When a user changes the sort criteria (“most popular and highest rated”) the main view gets updated correctly.

When a movie poster thumbnail is selected, the movie details screen is launched.

When a movie poster thumbnail is selected, the movie details screen is launched.

Network API Implementation

Criteria Meet Specification

In a background thread, app queries the /movie/popular or /movie/top_rated API for the sort criteria specified in the settings menu.

OR

Acceptable until April 8, 2016: In a background thread, app queries the /discover/movies API with the query parameter for the sort criteria specified in the settings menu. (Note: Each sorting criteria is a different API call.)

This query can also be used to fetch the related metadata needed for the detail view.

In a background thread, app queries the /movie/popular or /movie/top_rated API for the sort criteria specified in the settings menu.

General Project Guidelines

Criteria Meet Specification

App conforms to common standards found in the Android Nanodegree General Project Guidelines
(NOTE: For Stage 1 of the Popular Movies App, it is okay if the app does not restore the data using onSaveInstanceState/onRestoreInstanceState)

App conforms to common standards found in the Android Nanodegree General Project Guidelines (NOTE: For Stage 1 of the Popular Movies App, it is okay if the app does not restore the data using onSaveInstanceState/onRestoreInstanceState)